A single hardware platform may physically host only a single operating system (OS) and a local set of applications. With the virtualization of processors, a single hardware platform can be sub-divided to provide virtual machines (VMs). Each VM can be configured to appear as a stand-alone computer. Each VM can run a set of applications within limits of computing, storage, and networking resources made available by the single hardware platform supporting the VMs.
Typically, security for these VMs is limited to the security available to the OS and network used by a target virtualization system. This means that even with all the best security measures found in an OS, significant vulnerabilities still exist.
Traditional OSes have millions of lines of code, thousands of application programming interfaces (APIs), and thousands of interrupts and input/output ports. These attributes present multiple attack surfaces for cyber attackers, intruders, malware, worms and viruses. Consequently, secure systems built atop of these OSes always face multiple avenues of attack and threat.